package com.ruoyi.gather.api;

import com.ruoyi.common.core.constant.ServiceNameConstants;
import com.ruoyi.gather.api.domain.dto.EvaluationProductDto;
import com.ruoyi.gather.api.domain.dto.ProductInfoModuleDto;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

@FeignClient(contextId = "remoteAeProductStatisticsService", value = ServiceNameConstants.GATHER_SERVICE)
public interface RemoteAeProductStatisticsService {

    @GetMapping("/seller/sellerStoreCommodityRankStatistics/getProductRankByStoreId/{outOrder}/{productSource}/{storeId}/{limit}")
    List<ProductInfoModuleDto> getProductRankByStoreId(@PathVariable("outOrder") String outOrder, @PathVariable("productSource")
            Integer productSource, @PathVariable("storeId") Long storeId, @PathVariable("limit") Integer limit);

    @GetMapping("/seller/sellerStoreCommodityRankStatistics/getProductsRankByPrimary/{productId}/{productSource}/{productOut}")
    List<Long> getProductsRankByPrimary(@PathVariable("productId") Long productId,@PathVariable("productSource")
            Integer productSource,@PathVariable("productOut") Integer productOut);

    @GetMapping("/seller/sellerStoreCommodityRankStatistics/getEvaluationProduct")
    List<EvaluationProductDto> getEvaluationProduct(@RequestParam("storeId") Long storeId, @RequestParam(value = "shieldProductIds"
            , required = false) String shieldProductIds,@RequestParam("maxBig") String maxBig,@RequestParam("minBig") String minBig);
}
